package cn.wolfcode.wolf2w.redis.util;

import cn.wolfcode.wolf2w.util.Consts;
import lombok.Getter;

/**
 * 枚举类对象是唯一的,不能new 保证Redis的key唯一;方便管理
 */
@Getter
public enum RedisKeys {

//    VERIFY_CODE是一个枚举类对象,是这个枚举类RedisKeys的对象
//    创建枚举类对象,给构造器设值,从而给字段设值
//
    VERIFY_CODE("verify_code",Consts.USER_INFO_TOKEN_VAI_TIME*60);

    //redis的key的前缀  目的是要拼接完整的Redis的key,保证Redis的key唯一
    private String prefix;
    private int time;//储存在Redis的时间

    private RedisKeys(String prefix,int time) {
        this.prefix=prefix;
        this.time=time;
    }
//拼接Redis的key,保证Redis的key唯一
    public  String join(String ...values) {//是数组
        StringBuilder sb = new StringBuilder(80);
        //拼接一个参数
        //  sb.append(this.prefix).append(":").append(value);
        //拼接多个参数
        sb.append(this.prefix);
        for (String ele:values) {
            sb.append(":").append(ele);
        }
        return sb.toString();//可变字符串要转换成string
    }
    public static void main(String[] args) {
//       String  key=verify_code:13700000001
        //拼接
        String join = RedisKeys.VERIFY_CODE.join("13700000001");
        System.out.println(join);
    }
}
